Disc storage systems, such as magnetic or optical disc storage systems, are used to store information for subsequent retrieval. The speed at which information can be written to the disc is determined by a number of physical constraints. For example, if the transducer which is used to write information on the disc surface is positioned over one area of the disc, and data is to be written at another area of the disc, the transducer must be physically moved between annular data tracks across the disc surface. Further, as the disc rotates, the write operation may be delayed until the disc rotates to the proper position.
The delay in writing information onto a disc surface can introduce delays in a host computer when writing to the disc. For example, the host computer must wait for the disc storage system to complete the write operation. One technique for reducing this waiting time is by using a write cache technique in which data is written into a data cache in the host computer. After the data has been written to the cache, the host computer can continue with subsequent operation and is not required to wait until the write operation is complete. The data is removed from the cache as it is needed by the disc and when it can be written onto the disc surface. The actual time at which the data is written to the disc is based upon a number of factors including seek time, rotational latency time, and the size of the write cache.
Caching techniques are frequently used for readback operations. However, write caching is often avoided because of the likelihood of lost data. For example, if there is a system crash or power failure prior to writing the data onto the disc surface and while the data is stored in the cache, the data can be lost or the disc data structure otherwise corrupted.
A number of techniques have been developed in which the host computer is responsible for write caching. Some such techniques include the use of non-volatile memory (NVRAM). For example, U.S. Pat. No. 5,363,355, entitled CD-ROM DISC REPRODUCING APPARATUS WITH CLIPPING MEMORY, issued Nov. 8, 1994; U.S. Pat. No. 5,448,719, entitled METHOD AND APPARATUS FOR MAINTAINING AND RETRIEVING LIVE DATA IN A POSTED WRITE CACHE IN CASE OF POWER FAILURE, issued Sep. 5, 1995; U.S. Pat. No. 5,586,291, entitled DISK CONTROLLER WITH VOLATILE AND NON-VOLATILE CACHE MEMORIES, issued Dec. 17, 1996, and U.S. Pat. No. 5,519,831, entitled NON-VOLATILE DISK CACHE, issued May 21, 1996. These patents describe write caches which are controlled by the host computer and employ non-volatile memory. For example, an internal battery can be used to maintain the data in the memory in the event of a power loss. Upon subsequent power up, these references describe techniques to identify that there is cached data in the memory which must be written to the disc.
There are a number of problems and inefficiencies associated with these techniques. For example, battery powered memory is relatively expensive, usually 5 to 10 times the cost of dynamic random access memory (DRAM) which is typically used for volatile write caches. These techniques are implemented in the host computer which therefore require the host computer to be specially configured. Further, since the host computer is responsible for storing the data, data can still be lost at the disc drive level. These techniques also take processing time from the host computer to manage the cache.
The present invention addresses these and other problems, and offers other advantages over the prior art.